The blktap2 test in xen-hotplug-cleanup was not quite right, causing
orphaned /vm/<uuid>/device node in xenstore. Attempt to reattach the
device failed:
xen53: # xm block-attach 0 file:/tmp/d0 /dev/xvdp r
xen53: # xm block-detach 0 /dev/xvdp
xen53: # xenstore-ls /vm/
00000000-0000-0000-0000-
000000000000/device
vbd =3D ""
51952 =3D ""
frontend =3D "/local/domain/0/device/vbd/51952"
frontend-id =3D "0"
backend-id =3D "0"
backend =3D "/local/domain/0/backend/vbd/0/51952"
xen53: # xm block-attach 0 file:/tmp/d0 /dev/xvdp r
Error: Device /dev/xvdp (51952, vbd) is already connected.
Usage: xm block-attach <Domain> <BackDev> <FrontDev> <Mode>
[BackDomain]
From: Jim Fehlig <jfehlig@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
# if the vm path does not exist and the device class is 'vbd' then we may have
# a tap2 device
- if [ ! $(xenstore-read "vm_dev" 2>/dev/null) ] \
+ if [ $(xenstore-read "$vm_dev" 2>/dev/null) != "" ] \
&& [ "${path_array[1]}" = "vbd" ]; then
vm_dev="$vm/device/tap2/${path_array[3]}"
fi